#ifndef ALIYUN_IOT_MQTT_INTERNAL_H
#define ALIYUN_IOT_MQTT_INTERNAL_H
#include "aliyun_iot_common_datatype.h"
#include "aliyun_iot_auth.h" 

#define HOST_ADDRESS_LEN   64
#define CLIENT_ID_LEN      32
#define USER_NAME_LEN      64
#define HOST_PORT_LEN      8
#define	TOPIC_LEN		   96


#define PINGRSP_TIMEOUT_MS           5000
#define CHANGE_IP_RECONNECT_NUM_MAX  		3


/*******************************************
 * 获取服务器参数类型
*******************************************/
typedef enum SERVER_PARAM_TYPE
{
    ALL_SERVER_PARAM = 0,    //全部获取
    NETWORK_SERVER_PARAM,    //获取网络参数
    CERT_SERVER_PARAM,       //获取证书参数
}SERVER_PARAM_TYPE_E;

/*******************************************
 * 用户信息数据结构
*******************************************/
typedef struct ALIYUN_IOT_USER_INFO
{
    INT8   hostAddress[HOST_ADDRESS_LEN];  //鉴权服务器地址
    INT8   clientId[CLIENT_ID_LEN];        //客户ID = productKey + deviceId
    INT8   userName[USER_NAME_LEN];        //用户名 = MD5(productKey + productSecret + deviceId + deviceSecret)
	INT8   password[64];
	INT8   port[HOST_PORT_LEN];            //鉴权服务器端口
	INT8   SubTopic[TOPIC_LEN];
	INT8   PubTopic[TOPIC_LEN];
}ALIYUN_IOT_USER_INFO_S;





#endif
